Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.0.0
->==1.4.0
Release Notes
pytest-dev/pluggy (pluggy)
v1.4.0
Compare Source
=========================
Features
#​463 <https://github.com/pytest-dev/pluggy/issues/463>
_: A warning :class:~pluggy.PluggyTeardownRaisedWarning
is now issued when an old-style hookwrapper raises an exception during teardown.See the warning documentation for more details.
#​471 <https://github.com/pytest-dev/pluggy/issues/471>
_: Add :func:PluginManager.unblock <pluggy.PluginManager.unblock>
method to unblock a plugin by plugin name.Bug Fixes
#​441 <https://github.com/pytest-dev/pluggy/issues/441>
_: Fix :func:~pluggy.HookCaller.call_extra()
extra methods getting ordered before everything else in some circumstances. Regressed in pluggy 1.1.0.#​438 <https://github.com/pytest-dev/pluggy/issues/438>
_: Fix plugins registering other plugins in a hook when the other plugins implement the same hook itself. Regressed in pluggy 1.1.0.v1.3.0
Compare Source
=========================
Deprecations and Removals
#​426 <https://github.com/pytest-dev/pluggy/issues/426>
_: Python 3.7 is no longer supported.Features
#​428 <https://github.com/pytest-dev/pluggy/issues/428>
_: Pluggy now exposes its typings to static type checkers.As part of this, the following changes are made:
_Result
toResult
, and exported as :class:pluggy.Result
._HookRelay
toHookRelay
, and exported as :class:pluggy.HookRelay
._HookCaller
toHookCaller
, and exported as :class:pluggy.HookCaller
.HookImpl
as :class:pluggy.HookImpl
._HookImplOpts
toHookimplOpts
, and exported as :class:pluggy.HookimplOpts
._HookSpecOpts
toHookspecOpts
, and exported as :class:pluggy.HookspecOpts
.Final
and@final
.api-reference
is updated to clearly delineate pluggy's public API.Compatibility aliases are put in place for the renamed types.
We do not plan to remove the aliases, but we strongly recommend to only import from
pluggy.*
to ensure future compatibility.Please note that pluggy is currently unable to provide strong typing for hook calls, e.g.
pm.hook.my_hook(...)
,nor to statically check that a hook implementation matches the hook specification's type.
v1.2.0
Compare Source
=========================
Features
#​405 <https://github.com/pytest-dev/pluggy/issues/405>
_: The new-style hook wrappers, added in the yanked 1.1.0 release, now require an explicitwrapper=True
designation in the@hookimpl()
decorator.v1.1.0
Compare Source
=====================
.. note::
This release was yanked because unfortunately the implicit new-style hook wrappers broke some downstream projects.
See
#​403 <https://github.com/pytest-dev/pluggy/issues/403>
__ for more information.This was rectified in the 1.2.0 release.
Deprecations and Removals
#​364 <https://github.com/pytest-dev/pluggy/issues/364>
_: Python 3.6 is no longer supported.Features
#​260 <https://github.com/pytest-dev/pluggy/issues/260>
_: Added "new-style" hook wrappers, a simpler but equally powerful alternative to the existinghookwrapper=True
wrappers.New-style wrappers are generator functions, similarly to
hookwrapper
, but do away with the :class:result <pluggy.Result>
object.Instead, the return value is sent directly to the
yield
statement, or, if inner calls raised an exception, it is raised from theyield
.The wrapper is expected to return a value or raise an exception, which will become the result of the hook call.
New-style wrappers are fully interoperable with old-style wrappers.
We encourage users to use the new style, however we do not intend to deprecate the old style any time soon.
See :ref:
hookwrappers
for the full documentation.#​364 <https://github.com/pytest-dev/pluggy/issues/364>
_: Python 3.11 and 3.12 are now officially supported.#​394 <https://github.com/pytest-dev/pluggy/issues/394>
_: Added the :meth:~pluggy.Result.force_exception
method to_Result
.force_exception
allows (old-style) hookwrappers to force an exception or override/adjust an existing exception of a hook invocation,in a properly behaving manner. Using
force_exception
is preferred over raising an exception from the hookwrapper,because raising an exception causes other hookwrappers to be skipped.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.